﻿using System.Windows;
using System.Windows.Controls;

namespace Cupertino.Support.Views
{    
    // TreeViewItem也继承了ItemsControl，既可以包含多个子项，也可以作为TreeView的子项
    public class CupertinoTreeViewItem :TreeViewItem
    {
        static CupertinoTreeViewItem()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(CupertinoTreeViewItem), new FrameworkPropertyMetadata(typeof(CupertinoTreeViewItem)));
        }
        protected override DependencyObject GetContainerForItemOverride()
        {   
            // TreeViewItem的子项目也要用CupertinoTreeViewItem来渲染
            // TreeView是个列表数据，本质就是个TreeViewItem列表
            // 这里直接用一个自定义控件覆盖了原始的TreeViewItem子控件，只需要定义子控件的外观、数据、行为就行
            return new CupertinoTreeViewItem();
        }
        //TreeviewItem由于每一项都同时包含了父子类型(子类型也是一个TreeviewItem)
        //无法简单的通过SelectItem属性获取选择的项
    }
}
